<!--
 * @Description:小火箭返回顶部
 * @Author: Sun
 * @Date: 2019-07-01 20:05:50
 * @LastEditors: Sun
 * @LastEditTime: 2019-07-21 10:27:33
 -->
<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<title>小火箭返回顶部</title>
	<style>
		* {
			margin: 0;
			padding: 0
		}

		.top {
			position: fixed;
			right: 50px;
			bottom: 100px;
			display: none;
		}

		.top img {
			width: 60px;
			height: 60px;
		}
	</style>
</head>

<body>
	<div id="gotop" class="top">
		<img src="./img/1.jpg" alt="">
	</div>
	<div id="demo">
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
		<p>5秒关闭广告</p>
	</div>

	<script>
		function $(id) {
			return document.getElementById(id);
		}

		function show(obj) {
			return obj.style.display = "block"
		}

		function hide(obj) {
			return obj.style.display = "none"
		}

		function scroll() {
			if (window.pageYOffset != null) { //ie9+
				return {
					left: window.pageXOffset,
					top: window.pageYOffset
				}
			} else if (document.compatMode == "CSS1Compat") { //不是怪异模式浏览器 <!DOCTYPE html>
				return {
					left: document.documentElement.scrollLeft,
					top: document.documentElement.scrollTop
				}
			} else { //怪异模式浏览器
				return {
					left: document.body.scrollLeft,
					top: document.body.scrollTop
				}
			}
		}

		window.onload = function () {
			var gotop = $("gotop")
			window.onscroll = function () { 
				scroll().top > 0 ? show(gotop) : hide(gotop)
				leader = scroll().top
			}
			var leader = 0,//起事位置
				target = 0,//目标位置
				timer = null;
			gotop.onclick = function () {
				target = 0;//点击完毕 奔向0
				timer = setInterval(() => {
					leader = leader + (target - leader) / 10//位置
					window.scrollTo(0, leader)
					if (leader == target) {
						clearInterval(timer)
					} else {

					}

				}, 30)
			}

		}
	</script>

</body>

</html>